排列組合算法是計算機科學中用來計算從壹個集合中選取元素的不同方案數的算法。它可以計算出從n個元素中選取k個元素的不同方案數,也就是組合數C(n, k)。排列組合算法也可以用來計算全排列數,也就是n個元素的全排列數爲A(n, n)。
排列組合算法代碼可以用 Python 實現。下面是壹個示例代碼,它可以計算出長度爲 n 的序列的所有排列:
import itertools
def permutations(n):
return list(itertools.permutations(range(1, n+1)))
print(permutations(3))
輸出結果是:[(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]
組合算法也可以用 Python 實現。下面是壹個示例代碼,它可以計算出長度爲 n 的序列的所有組合:
import itertools
def combinations(n):
return list(itertools.combinations(range(1, n+1), n-1))
print(combinations(3))
輸出結果是:[(1, 2), (1, 3), (2, 3)]